// Evol scripts.
// Author:
//    Reid
// Description:
//    Party NPC
// Variable:
//    General_Janus
// Values:
//    0    Default.
//    1    Basic information given.
//    2    Party creation enabled.
//    3    Guild certificate given.

001-2-9,30,28,0	script	Janus	NPC_JANUS,{

    function create_party {
        .@party_price = 1000;

        speech 5,
            l("Creating a party has some advantages, it's a pretty good choice!"),
            l("I remember when I created my first party, we were amazed to share some experience with a small group of adventurer..."),
            l("Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well."),
            lg("The cost to create a party is @@ E, are you interested?",
               "The cost to create a party is @@ E, are you interested?", .@party_price);

        if (askyesno () == 1)
        {
            if (Zeny < .@party_price)
            {
                speech 5, l("You don't have enough money, bring @@ E.", .@party_price);
            }
            else
            {
                Zeny = Zeny - .@party_price;
                setq General_Janus, 2;
                skill NV_BASIC, 7, 0;

                speech 5, l("Awesome, come back if you ever want to create a larger group!");
            }
        }
    }

    function create_guild {
        .@guild_price = 35000;

        speech 5,
            l("Oh oh... I see, your party became so big that you want to create an even larger structure?"),
            l("Or do you want to keep your friendships and adventures in different groups?"),
            l("Anyway, the guild creation is perfect for both!"),
            l("You can keep your current party as it is, while leading or being part of a guild in order to talk and share different items with all of its members!"),
            l("The @@ is a one time item, you can use it as many times as you want, but you can only have one!", getitemlink (GuildCertification)),
            lg("The cost to create a guild is @@ E, are you interested?",
               "The cost to create a guild is @@ E, are you interested?", .@guild_price);

        if (askyesno () == 1)
        {
            if (Zeny < .@guild_price)
            {
                speech 5, l("You don't have enough money, bring @@ E.", .@guild_price);
            }
            else
            {
                inventoryplace GuildCertification, 1;
                Zeny = Zeny - .@guild_price;
                setq General_Janus, 3;
                getitem GuildCertification, 1;

                speech 5, l("Enjoy the fraternity and excitement of your future guild!");
            }
        }
    }

    function explain_service {
        speech 5,
            l("You are on the human resource wing of the Town Hall."),
            l("We offer party and guild certifications and we can also teach you how to use some basic communication skills."),
            l("Do you know how to speak with people around you?");

        if (askyesno () == 2)
        {
            speech 5,
                l("You lack some very basic skills...");

            if (compareandsetq (General_Janus, 0, 1))
            {
                speech 12,
                    l("This book contains everything you should know about it, take it!");

                inventoryplace CommunicationTheory, 1;
                getitem CommunicationTheory, 1;
            }
            else
            {
                speech 12,
                    l("You can read the book that I gave you earlier at the library if you lost it.");
            }
        }
        else
        {
            if (compareandsetq (General_Janus, 0, 1))
            {
                speech 12,
                    l("Anyway."),
                    l("This book contains everything you should know about it, take it!");

                inventoryplace CommunicationTheory, 1;
                getitem CommunicationTheory, 1;
            }

        }

        return;
    }

    function janus_is_not_ianus {
        speech 1,
            l("Janus!");
        emotion E_UPSET;
        next;

        speech 12,
            l("Ianus is from the Legion of Aemil, don't compare me to this brigand.");

        return;
    }

    speech 4,
        lg("Welcome miss.", "Good day sir.");

    do
    {
        // Beta users by-pass check.
        if (getskilllv(NV_BASIC) > 6 && getq (General_Janus) == 1)
        {
            setq General_Janus, 2;
        }

        select
            rif (getq (General_Janus) == 1, l("I would like to create a party.")),
            rif (getq (General_Janus) == 2, l("I would like to create a guild.")),
            l("What service do you offer?"),
            l("Your name is Ianus or Janus?"),
            menuaction(l("Quit"));

        switch (@menu)
        {
            case 1:
                create_party;
                break;
            case 2:
                create_guild;
                break;
            case 3:
                explain_service;
                break;
            case 4:
                janus_is_not_ianus;
                break;
        }
    } while (@menu != 5);

    closedialog;
    goodbye;
    close;

OnInit:
    .sex = G_MALE;
    .distance = 3;
    end;
}
